package IOxuliehua;

import java.io.Serializable;
import java.util.Arrays;
/*
* 序列化后，如果对象类发生改动，使用ObjectInPutStream进行反序列化时，会报对象类版本（serialVersionUID）不一致异常
* java建议我们自定义 static final long serialVersionUID = 1L; 版本号 ， 因为不自定义的版本号会随着对象类改变而改变
* 那样序列化就会报异常， 如果自定义版本号的话 ， 改变对象类，版本号也不会发生改变。会尽量反序列化回原来的对象，
* 如果现在的属性，原来的也有就会还原， 如果原来的属性，现在没有了，就会返回属性的默认值

* */
public class person implements Serializable {
    private static final long serialVersionUID = 1L;
    private String name ;
    private int age;
    private String sex;
    private String[] otherInfo;


    public person(String name, int age, String sex, String[] otherInfo) {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.otherInfo = otherInfo;

    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String[] getOtherInfo() {
        return otherInfo;
    }

    public void setOtherInfo(String[] otherInfo) {
        this.otherInfo = otherInfo;
    }

    @Override
    public String toString() {
        return "person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                ", otherInfo=" + Arrays.toString(otherInfo) +
                '}';
    }
}
